perm filename GRHOCK.REM[UP,DOC] blob sn#557269 filedate 1981-01-18 generic text, type T, neo UTF8
Graph Hockey, a game played on a DataDisc (via R GRHOCK) or on graph paper.
Invented by Robert Maas on 1970 Dec 19-20 at SAIL; first implemented as a
program 1976 Dec 5-6.  These rules and other hints were written by REM and
cleaned up by DON.

			    RULES OF THE GAME:

1) The initial position looks something like this:

	----------------------
	|        |  |        |
	|        |  |        |
	|--*     ----        |
	|       	     |
	|       	     |
	|        	     |
	|       	     |
	|       	     |
	|        ----        |
	|        |  |        |
	|        |  |        |
	----------------------

(Everything is actually continuous line segments.)  Some terminology:  The
boxes at top and bottom are the GOALS, one for each player.  They are
one-inch squares.  The outside box is the BOUNDARY; the playing field is 9
inches wide and 10 inches tall (with the goals centered along their
respective edges), although a smaller game is quite playable.  The little *
marks the initial location of the PUCK; the segment connecting the puck to
the boundary is the initial move, and consists of a 1/4-inch horizontal
segment leaving the boundary from one inch below the top edge.

2) The players alternate turns; the player attempting to reach the bottom
goal gets the first move.  A turn consists of moving the puck to one of
twenty possible new locations, extending the broken line representing the
path of the puck by a segment connecting the old location to the new.  The
twenty possible moves are:  Any point 1/4 inch away vertically or
horizontally and 1/4 inch, 1/8 inch, or 0 inches away in the other
direction; or any of the four points 1 inch away due vertically or due
horizontally.  In other words, the game is played on an 1/8-inch grid, and
a move can go to any grid point on the 1/4-inch "radius" square centered at
the puck, or 1 inch straight up, down, left or right.  The 20 possible
moves are not distinguished in the rules; all are equally playable at any
time, subject to restrictions below.  Passing is not allowed; you must make
a move.

Note:  When playing a game using the computer program or via a typed comm
link, the following single-character abbreviations for the 20 legal moves
are used.  They are designed roughly based on having a circular keyboard
pattern for the 16 shorter moves.

			V


		      WERTY
		      Q   U
		Z     A * I     L
		      S   K
		      DFGHJ


			B

3) When a person moves the puck into his goal (not all the way through it,
and not just on the boundary of it), he wins.  It is legal, though foolish,
to move into the opponent's goal.

Now, some restrictions.

4) Never may a move touch or cross the outside boundary.

5) Never (except as allowed by rule 8) may a move follow partly along any
line segment already drawn, including the goal boundaries.

6) Never (except as allowed by rule 7) may a move cross any part (including
endpoints) of any line already drawn, except the goal boundaries.  It may
however come right up to a line or intersection and land on it, giving the
next player the option of moving on the other side(s) or back on the
original side.

7) When no legal move by the above rules exists, rule 5 is temporarily
suspended.  This is called a FREE JUMP, because the player usually uses the
opportunity to make a large move, jumping over lots of barricades, to
escape from a boxed-in region and to be nearer to his goal.

8) If still no legal move exists, then rule 4 is also temporarily
suspended.  This is called STRANGENESS, because it never seems to happen
unless the players cooperate to bring it about.

You can think of rules 4 through 8 as follows:  The two players are taking
turns adding segments to the path of the puck.  Each new segment, ignoring
the endpoints, is required not to intersect any portion of the preceding
path, and to intersect the goal boundaries (if at all) with measure zero.
If no such move exists, then the new open segment is permitted to intersect
the previous path, but only with measure zero.  If still no move exists,
then any of the 20 possible moves are permitted provided they do not touch
or cross the boundary.


			   STRATEGY AND TACTICS:

1) Try to get close to your goal.  There, you have a chance of a lucky
break for the goal, and the defender must limit his choice of moves to
those which don't allow you an easy fast win, so you can often drastically
limit his moves.

2) Try to get garbage between the puck and the opponent's goal; this can
often be done simply by moving directly toward your goal, thus leaving
behind you the lines that were created on the preceeding moves.  Also, if
the opponent moves anywhere other than straight toward his goal, you can
usually make a sharp turn toward your goal such that the line he has just
made is in the way.  The zigzag resulting from a repetition of such moves
should be directed as far from the opponent's goal and as near to yours as
you can force it, unless tactics indicates an advantage in another
direction.

3) When playing in a zigzag, it makes a difference whether it is heading
towards the boundary or towards some debris as to who has the advantage.
If the zigzag actually reaches to right next to the boundary then someone
will be forced to deviate from his direction and move toward the opponent's
goal, leaving a stone wall between his long-lost goal and the cursor.
Beware!  Same goes for a zigzag hitting debris, but often the advantage is
reversed.  You should work out some examples to see for yourself what
actually happens in particular cases.

4) You will probably learn more simple tactics in one game with a beginner
than by reading a page of my comments.  Why?  Because the game is so visual
that it is easy to see what will happen in a given situation and to devise
good ideas of your own.

5) I believe that the first player has an advantage, which he should
capitalize on by starting the game with large moves downward toward his
goal.  True, the opponent can run a zigzag against the left boundary and
force the cursor into a boxed-in region, but whenever it breaks out it will
be close enough to the goal that the defender must be very careful.  Of
course, usually the breakout results in a zigzag going far from the goal,
but the zigzag debris is often useful later in the game.


			   THE DATADISC PROGRAM:

By saying R GRHOCK you run a program for playing Graph Hockey using the
DataDisc display.  The program's messages are, as usual for REM's programs,
esoteric.  It first asks for a "Display Type (D or P)".  D means DataDisc;
it's not clear what P means.  When you type D, you'll get told what DD
channel is going to be used to display the board.  Then you're asked for
the size of the board, in terms of distance on either side of the goals and
the distance between goals.  The program initialises, and the DD channel
previously named is set up with the board.  You should then type <ESC> # A,
where # is the DD channel number, to get the board superimposed on your
screen, and use the <ESC> # L and <ESC> # G commands to get your page
printer out of the way of the board.

The display includes a key showing the one-letter names for the 20 possible
moves.  At the beginning of each move, the display also shows, on the board
itself, which moves are legal.  When you type a letter representing a legal
move, the spot marking that move inverts; the idea is that you start by
turning off all obviously bad moves, so you see the others more clearly.
When you type <FORM> or <LINE>, depending on whose turn it is (as marked in
the goals), the most recently inverted move is taken as the one to make.

By typing ?, yo can get a list of other program options.  Also note that
the game is automatically recorded in a pair of files on your directory,
and you'll most likely want to remember to throw those files away later.